package com.settlement.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.settlement.system.model.entity.SysOrder;
import com.settlement.system.model.query.OrderPageQuery;
import com.settlement.system.model.vo.SysOrderVO;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 标准订单 服务类
 * </p>
 *
 * @author huangrensen
 * @since 2023-09-20
 */
public interface SysOrderService extends IService<SysOrder> {
    /**
     * 标准账单分页列表
     *
     * @return
     */
    Page<SysOrderVO> getOrderPage(OrderPageQuery queryParams);

    /**
     * 标准账单分页列表(不分权限)
     *
     * @return
     */
    Page<SysOrder> getAllOrderPage(OrderPageQuery queryParams);

    /**
     * 插入或更新
     * @param sysOrder 标准订单汇总
     * @param isReturnOrder 是否是售后单
     */
    SysOrder insertOrUpdate(SysOrder sysOrder, boolean isReturnOrder);

    void updateAuditId(List<SysOrder> allOrderList, String auditId, String fileAuditId);

    Set<String> columnList();
}
